package locacao.negocio.bo;

import java.sql.Connection;
import java.sql.Date;

import locacao.integracao.dao.RentACarPST;
import locacao.negocio.to.FaturaTO;
import locacao.negocio.to.RentACarTO;


public class FaturaBO {
	
	private RentACarTO rentACarTO;
	private RentACarPST rentACarPST;
	

	public FaturaBO() {
		rentACarTO = new RentACarTO();
		rentACarPST = new RentACarPST();
	}

	public void addFatura(Integer idFatura, Date dataEmissao, float valorTotal,
			Integer idLocacao){
		try {
			FaturaTO fatura = rentACarTO.getFatura(idFatura, dataEmissao, valorTotal, idLocacao);
			rentACarPST.addOrUpdateFatura(fatura);
		} catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
		}
	}

	
	public void updateFatura(Integer idFatura, Date dataEmissao, float valorTotal,
			Integer idLocacao){
   
		try {
			FaturaTO fatura = rentACarTO.getFatura(idFatura, dataEmissao, valorTotal, idLocacao);
			rentACarPST.addOrUpdateFatura(fatura);
		} catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
		}	
	}
	
	public void excludeFatura(int idFatura){
		try {
			FaturaTO fatura = rentACarTO.getFatura(idFatura);
			rentACarPST.excludeFatura(fatura);	
		} catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
		}
	}
	
	
    public String[] getInfoFaturas(){
    	return rentACarPST.getInfoFaturas();

    }

    
    public String[] getPesquisaFaturas(Integer idFatura, Integer idLocacao){
    	try {
    		return rentACarPST.findFaturaById(idFatura,idLocacao);
	    } catch (Exception e) {
			System.out.println("Log Erro: " + e.getMessage());
			return null;
		}
    }
    

    public Connection gerarRelatorioFaturas(){
    	return rentACarPST.getInstance().getConn().getConnection();
    }
    
}
